package stackUsage;

import java.util.ArrayList;
import java.util.List;

/**
 * @author le
 */
public class StackGenerateArray {

    /**
     * 1441. 用栈操作构建数组
     * 给你一个目标数组 target 和一个整数 n。每次迭代，需要从  list = {1,2,3..., n} 中依序读取一个数字。
     *
     * 请使用下述操作来构建目标数组 target ：
     *
     * Push：从 list 中读取一个新元素， 并将其推入数组中。
     * Pop：删除数组中的最后一个元素。
     * 如果目标数组构建完成，就停止读取更多元素。
     * 题目数据保证目标数组严格递增，并且只包含 1 到 n 之间的数字。
     *
     * 请返回构建目标数组所用的操作序列。
     *
     * 题目数据保证答案是唯一的。
     * @param args
     */

    public static void main(String[] args) {
        int[] target = {1,2};
        int n = 4;
        int index = 1;
        int len = target.length;

        List<String> list = new ArrayList<>();

        int count = 0;
        while(index <= n){
            if (index != target[count]){
                list.add("Push");
                list.add("Pop");
                // count++;
            }else{
                list.add("Push");
                count++;
            }

            if (target.length == count){
                break;
            }

            index++;
        }

        list.forEach(System.out::println);
    }
}
